package com.hn658.base.message.appinfo.service;

import java.util.List;
import java.util.Map;

import com.hn658.base.message.appinfo.entity.AppMqConfigEO;
import com.hn658.framework.dataaccess.pagination.GenericPage;

/**
 * 应用MQ业务逻辑接口
 *
 */


public interface IAppMqService {
	
	/**
	 * 根据uid集合返回MQ信息
	 * @return
	 */
	public List<AppMqConfigEO> findAppMqByIds(List<Long> ids);
	
	/**
	 * 查询MQ信息
	 * @param queryMap
	 * @param limit
	 * @param start
	 * @param sortBy
	 * @param isAsc
	 * @return
	 */
	public GenericPage<AppMqConfigEO> queryAppMq(Map<String, Object> queryMap, int limit, int start,
			String sortBy, boolean isAsc);
	
	/**
	 * 修改MQ信息
	 * @param appInfoEO
	 * @return
	 */
	public AppMqConfigEO modifyAppMq(AppMqConfigEO appInfoEO);
	
	/**
	 * 添加MQ
	 * @throws AppInfoException 
	 */
	public AppMqConfigEO addAppMq(AppMqConfigEO appInfo);
	
	/**
	 * 通过id查找应用MQ
	 * @param id
	 * @return
	 */
	public AppMqConfigEO findAppMqById(Long id);
	
	
	/**
	 * 根据id删除应用MQ
	 * @param id
	 */
	public boolean deleteAppMqById(Long id);
    
	/**
	 * 禁用应用MQ
	 * @param id
	 */
	public void disableAppMq(Long id);
	
	/**
	 * 启用应用MQ
	 * @param id
	 */
	public void enableAppMq(Long id);
	/**
	 * 查询所有注册MQ
	 * @return
	 */
	public List<AppMqConfigEO> findMqAll();
	
	/**
	 * 查询数据库中符合条件的唯一MQ
	 * @param queryMap
	 * @return
	 */
	public AppMqConfigEO queryUniqueMqConfig(Map<String, Object> queryMap);
}
